# -*- coding: utf-8 -*-
# @Time     : 2020/8/1 17:25

import asyncio
import time

now = lambda: time.time()


async def func(a):
    print(f"python{a} --> {now()}")
    return f"PYTHON{a} --> {now()}"


async def run1():
    # 把多个协程任务装到一个列表中(注意: 这里使用的是asyncio.ensure_future(协程任务))
    tasks = [asyncio.ensure_future(func(a)) for a in range(10)]
    # 实现异步
    await asyncio.wait(tasks)
    # 获取返回值
    for task in tasks:
        print(task.result())


async def run2():
    # 把多个协程任务装到一个列表中(注意: 这里使用的是asyncio.ensure_future(协程任务))
    tasks = [asyncio.ensure_future(func(a)) for a in range(10)]
    # 实现异步
    await asyncio.gather(*tasks)
    # 获取返回值
    for task in tasks:
        print(task.result())


if __name__ == '__main__':
    # 创建事件循环对象
    loop = asyncio.get_event_loop()
    # 开启事件循环
    loop.run_until_complete(run1())
